package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface RoleDao {
    public Set<Role> findByUserId(Integer userId);

    Page<Role> findAllRole(String queryString);

    void add(Role role);

    void addAssociation(@Param("permissionIds") Integer[] permissionIds, @Param("id") Integer id);

    List<Integer> findPermissionIdsByRoleId(Integer id);

    Role findById(Integer id);

    void deleteAndPermissionAssociation(Integer id);

    void edit(Role role);

    Integer findRoleAndUserAssociation(Integer id);

    void deleteRoleById(Integer id);

    Integer findRoleAndMenuAssociation(Integer id);

    void addMenuIds(@Param("menuIds")Integer[] menuIds, @Param("id") Integer id);

    List<Integer> findMenuIdsByRoleId(Integer id);

    void deleteAndMenuAssociation(Integer id);

    List<Role> findAll();
}
